﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using EasyProp.Extensions;

namespace EasyProp
{
    [AttributeUsage(AttributeTargets.Class, Inherited = true, AllowMultiple = true)]
    public class PropertySetFilterAttributeBase : Attribute
    {
        public PropertySetFilterAttributeBase(params Type[] propertySetFilterTypes)
        {
            foreach (Type type in propertySetFilterTypes)
            {
                type.AssertImplements(typeof(IPropertySetterFilter));
            }
            FilterTypes = propertySetFilterTypes;
        }

        public readonly IEnumerable<Type> FilterTypes;
    }
}
